// =======================================================================
// 
//       Filename:  page.hpp
// 
//    Description:  
// 
//        Version:  1.0
//        Created:  27.03.2010 19:13:52
//       Revision:  none
//       Compiler:  g++
// 
//         Author:  Dominik 'domachine' Burgdörfer (-), dominik.burgdoerfer@googlemail.com
//        Company:  -
// 
// =======================================================================


#ifndef  PAGE_INC
#define  PAGE_INC
#include <iostream>
#include <map>
#include <vector>
#include <yaml.h>
#include <boost/filesystem.hpp>
#include "navigation/node.hpp"

namespace webplodder {
    class Page : public std::map<std::string,std::string>
    {
    public:
        Page(const boost::filesystem::path& sourcePath,
             const boost::filesystem::path& outputPath);

        void parse();

        void installNavigation(const std::vector<navigation::Node>&
                                                        navi);

        boost::filesystem::path sourcePath() const;

        boost::filesystem::path outputPath() const;

        std::vector<navigation::Node>& navigation();

    private:
        boost::filesystem::path mSourcePath;
        boost::filesystem::path mOutputPath;
        std::vector<navigation::Node> mNavigation;
    };
}
#endif   // ----- #ifndef PAGE_INC  -----
